Expedited communication graphical user interface system and method

ABSTRACT

A method for managing expedited communication functions for a mobile device having a processing subsystem, a memory subsystem, a display subsystem, a communication subsystem, and a keyboard subsystem includes displaying a graphical key representation of mobile device keyboard subsystem keys, arranging the graphical keys in similar disposition to the mobile device keyboard subsystem keys, and displaying visual indicia to indicate mobile device keyboard subsystem keys associated with expedited communication functions.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application of patent applicationSer. No. 11/460,914, filed on Jul. 28, 2006, which is a continuation ofpatent application Ser. No. 10/788,055 filed on Feb. 26, 2004, now U.S.Pat. No. 7,103,388, which claims the benefit of priority to U.S.Provisional Application No. 60/529,969 filed on Dec. 16, 2003, thecontents of all of which are incorporated herein by reference.

BACKGROUND

1. Technical Field

This patent document generally relates to mobile device communicationsystems and methods, and in particular relates to graphical userinterfaces for managing communication functions on a mobile device.

2. Description of the Related Art

A communication function, such as the placing of a telephone call or thesending of an e-mail, is normally initiated by a user of a mobile deviceby dialing a telephone number or launching an e-mail program andselecting an e-mail address. The mobile device, however, may also beconfigured to perform expedited communication functions. An expeditedcommunication function is a communication function that is initiated byfewer user input operations than required to initiate the communicationfunction in a normal manner. Each expedited communication function maybe associated with a corresponding key on a mobile device keyboard sothat the user may activate the expedited communication function bypressing the key.

When associating keys with expedited communication functions, or whenreviewing keys associated with expedited communication functions, theuser may browse a list of associated keys and unassociated keys on themobile device display. The entire list of keys that are associated ornot associated with expedited communication functions, however, usuallycannot be displayed on a single mobile device display screen. Thus, theuser must browse through the list, either by scrolling or paging throughthe list, to determine which keys have been associated with expeditedcommunication functions and which keys are eligible for suchassociation. As a result, the user is unable to quickly discern keysassociated with expedited communication functions, and keys that areeither eligible or ineligible for such association.

SUMMARY

A method for managing expedited communication functions for a mobiledevice having a processing subsystem, a memory subsystem, a displaysubsystem, a communication subsystem, and a keyboard subsystem includesdisplaying a graphical key representation of mobile device keyboardsubsystem keys, arranging the graphical keys in similar disposition tothe mobile device keyboard subsystem keys, and displaying visual indiciato indicate mobile device keyboard subsystem keys associated withexpedited communication functions.

A mobile device operable to initiate and receive communications over oneor more wireless communication networks comprises a processingsubsystem, a memory subsystem, a display subsystem, a communicationsubsystem, and a keyboard subsystem. The processing subsystem is coupledto the memory subsystem, display subsystem, keyboard subsystem andcommunication subsystem. The processing subsystem is operable to storeand retrieve data in the memory subsystem, to execute instructionsstored in the memory subsystem, receive input data from the keyboardsubsystem, and to cause the communication subsystem to transmit andreceive data over the communication network. Additionally, mobile deviceprogram code comprising program instructions executable by theprocessing subsystem is stored in the memory subsystem. Upon execution,the mobile device program code causes the mobile device to display agraphical user interface to facilitate the processing of expeditedcommunication data. The graphical user interface includes a graphicalkey representation of the mobile device keyboard subsystem keys. Thegraphical keys are arranged in similar disposition to the mobile devicekeyboard subsystem keys. The graphical user interface also includesvisual indicia to indicate mobile device keyboard subsystem keysassociated with expedited communication functions.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a mobile device;

FIG. 2 is a block diagram of a communication management apparatus andmethod that may be implemented in the mobile device of FIG. 1;

FIG. 3 is a block diagram of the association of expedited communicationdata, contact data, and communication preference data;

FIG. 4 is an illustration of a first display environment;

FIG. 5 is an illustration of the first display environment including agraphical key representation;

FIG. 6 is an illustration of the first display environment including auser input dialog;

FIG. 7 is a flow diagram of a process for displaying a graphical keyrepresentation of keys associated with expedited communicationfunctions;

FIG. 8 is a block diagram of the association of a contact data setrecord and a communication preference data set record;

FIG. 9 is a block diagram of the association of contact data setrecords, status records, and rule sets;

FIG. 10 is an illustration of a first contact display environment;

FIG. 11 is an illustration of a first contact relationship displayenvironment;

FIG. 12 is an illustration of a second contact display environment;

FIG. 13 is an illustration of a second contact relationship displayenvironment;

FIG. 14 is a flow diagram of a process for associating preferredcommunication modes with communication contact data;

FIG. 15 is a flow diagram of a process for initiating a preferredcommunication;

FIG. 16 is a flow diagram of a process for initiating an expeditedcommunication function;

FIG. 17 is a flow diagram of a process for initiating anenvironment-dependent expedited communication function;

FIG. 18 is a flow diagram of a process for selecting between a primarycommunication mode and a secondary communication mode for acommunication function;

FIG. 19 is a block diagram of an example system for redirectingelectronic messages to and from the mobile device; and

FIG. 20 is a more detailed block diagram of the mobile device of FIG. 1.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of a mobile device 100. The mobile device 100may comprise a display subsystem 102, a processing subsystem 104, amemory subsystem 106, a keyboard subsystem 108, and a communicationsubsystem 110. The mobile device 100 may be any mobile communicationdevice adapted to operate within a wireless communication network and ispreferably a two-way communication device. An audio subsystem comprisinga speaker 112 and a microphone 114 may also be included if the mobiledevice 100 supports voice communication functions. A more detaileddescription of the mobile device 100 and an exemplary operatingenvironment for the mobile device 100 is described with respect to FIGS.19 and 20 below.

Depending on the functionality provided by the mobile device 100, themobile device 100 may be referred to as a data messaging device, atwo-way pager, a cellular telephone with data messaging capabilities, awireless Internet appliance or a data communication device (with orwithout telephony capabilities). Data communication functions, such ase-mail, instant messaging, paging, and the like, are primarilyfacilitated by the display subsystem 102, the keyboard subsystem 108,and the communication subsystem 110, which provide the primary userinterface and communication capability for composing, reading andreplying to data communications. Voice communication functions arefurther facilitated by the audio subsystem comprising the speaker 112and the microphone 114.

The memory subsystem 106 stores mobile device program code comprisingprogram instructions that are executable by the processing subsystem104. The mobile device 100 is thus a programmable device that may beprogrammed to carry out multiple functions upon execution of the mobiledevice program code by the processing subsystem 104. The memorysubsystem 106 may also store contact data comprising contact names andassociated communication contact data, such as telephone numbers ande-mail addresses. An address book application is an example of one suchapplication and storage program that may store contact data in thememory subsystem 106.

A communication function, such as the placing of a telephone call or thesending of an e-mail, is normally initiated on the mobile device 100 bydialing a telephone number or launching an e-mail program and selectingan e-mail address. The mobile device 100, however, may also beconfigured to perform expedited communication functions. An expeditedcommunication function is a communication function that is initiated byfewer user input operations than required to initiate the communicationfunction in a normal manner.

Speed-dialing is an example of one such expedited voice communicationfunction. A speed-dial operation may be facilitated by associating atelephone number with a single key. Activation of the key causes themobile device 100 to establish a telephone call to the associatedtelephone number. Likewise, associating an e-mail address or otherelectronic address with a single key may facilitate an expedited datacommunication function. Activation of the key causes the mobile device100 to send a pre-defined data message to the associated electronicaddress, or alternatively launches a program or routine thatautomatically addresses a data message to the associated electronicaddress and launches an editing program or routine so that the user maycompose the body of the data message.

FIG. 2 is a block diagram illustration of a communication managementapparatus and method that may be implemented in the mobile device ofFIG. 1. The mobile device 100 may be operable to carry out one or morecommunication functions 200. The communication functions may comprisevoice functions 210, such as phone communications 212, voice over IP(VoIP) communications 214, and the like, and/or data functions 220, suchas e-mail communications 222, paging communications 224, instantmessaging communications 226, and the like.

An activation event 202 will invoke a communication function. If theactivation event invokes a non-expedited communication function, usercontact input data 204 is required. The user contact input data 204 may,for example, cause an application program, such as an address book, tolaunch so that the user may browse the contact data 300 stored in themobile device 100 and select the appropriate communication contact data,such as a phone number or e-mail address. Alternatively, the user maymanually enter the phone number or e-mail address, thereby directlyinvoking a corresponding communication function.

If the activation event 202 invokes an expedited communication function,however, then the contact data 300 may be directly accessed toautomatically obtain the corresponding communication contact data and toautomatically initiate the corresponding communication mode associatedwith the communication contact data. Alternatively, if the communicationcontact data is stored in a separate memory store from the contact data300 and is automatically entered upon the activation event 202, e.g., aseparate speed dial data set in which are stored speed dial numbers,then the corresponding communication function may be automaticallyinitiated.

In another embodiment, once the communication contact data for either anexpedited or non-expedited communication function is obtained, a modeevaluation routine 206 determines if the communication mode associatedwith the communication contact data is available. If the communicationmode associated with the communication contact data is available, thenthe corresponding communication function is executed. If thecommunication mode associated with the communication contact data is notavailable, however, then the mobile device 100 determines if analternate communication mode associated with the communication contactdata is available. If the alternate communication mode associated withthe communication contact data is available, then the correspondingalternate communication function is executed.

For example, if a speed-dial function is invoked, the correspondingcommunication contact data is a phone number, and the correspondingcommunication mode is the phone communication 212. The mode evaluationroutine 206 determines if voice coverage is available. If voice coverageis available, a telephone call is placed to the phone number. If voicecoverage is not available, however, then the mode evaluation routine 206determines if data coverage is available. If data coverage is available,then the mode evaluation routine 206 may search the contact data 300 foralternate communication contact data associated with the phone number,e.g., an e-mail address from an address book entry corresponding to thephone number.

If there is an e-mail address entry in the contact data 300, then ane-mail message to be sent to the e-mail address is created. The e-mailmessage may be a predefined message, such as “I am attempting to callyou at phone number (XXX) XXX-XXXX but I am presently out of voicecoverage. I will try again soon.” The phone number (XXX) XXX-XXXX may bethe phone number associated with the speed dial function. Alternatively,the body of the e-mail message may be composed by the user and sentmanually.

In another embodiment, communication preference data 208 associated withthe contact data 300 may be referenced to determine a preferredcommunication mode to contact the intended recipient. The communicationpreference data 208 defines preferred communication modes forcommunicating with the contact associated with the communication contactdata.

In one embodiment, the communication preference data 208 comprises arule set based on time. For example, the rule set may specify thatduring work days a phone communication to the contact's work phonenumber be used as a preferred communication. Additionally, duringevenings and weekends, the rule set may specify that an e-mailcommunication to the contact's work e-mail address be used as apreferred communication.

In another embodiment, the communication preference data 208 comprises arule set based on contact status. A contact status may indicate therelationship the contact has with mobile device user, e.g., business,personal, services, etc. If the contact status is personal, then adefault personal communication profile may be used. A default personalcommunication profile may comprise a rule set that specifies that duringworkdays a phone communication to the contact's work phone number beused as a preferred communication, and during weeknights and weekends aphone communication to the contact's home phone number be used as apreferred communication. The default personal communication profile mayalso be modified by the user of the mobile device 100.

If the contact status is professional, then a default professionalcommunication profile may be used. A default professional communicationprofile may comprise a rule set that specifies that during workdays aphone communication to the contact's work phone number be used as apreferred communication, and during weeknights and weekends an e-mailcommunication to the contact's work e-mail be used as a preferredcommunication. The default professional communication profile may alsobe modified by the user of the mobile device 100.

In another embodiment, the management of expedited communicationfunctions is facilitated by a graphical user interface (GUI). Typically,a key is associated with communication contact data or a record in thecontact data 300 to enable an expedited communication function. Forexample, a selection of a contact by a user or a contact modificationevent 230 may invoke a GUI 232 that graphically represents theassociation of expedited communication functions to an input device,such as a keyboard. The GUI 232 may comprise an input devicerepresentation 234 and visual indicia 236 that indicates the associationor non-association of expedited communication functions with the inputdevice.

For example, if the expedited communication functions comprise one-keyactivated speed dial communications or one-key activated e-mailcommunications associated with keys on the keyboard subsystem 108, thenthe GUI 232 may comprise a graphical key representation of the mobiledevice keyboard subsystem 108 keys. If the keyboard subsystem 108 on themobile device 100 comprises a physical keyboard, then the graphical keysmay be arranged in similar disposition to the mobile device keyboardsubsystem 108 keys. Visual indicia, such as highlighted graphical keys,indicates keyboard subsystem 108 keys associated with expeditedcommunication functions.

If the keyboard on the mobile device 100 is a touch sensitive keyboard,such as a virtual keyboard rendered on the mobile device display 100,then only the visual indicia need be rendered to indicate keyboardsubsystem 108 keys associated with expedited communication functions.

FIG. 3 is a block diagram illustration of the association of expeditedcommunication data 240, contact data 300, and communication preferencedata 400. Although the illustration depicts three separate databasestructures, the expedited communication data 240, contact data 300, andcommunication preference data 400 may be stored in a single databasestructure, or distributed over additional database structures.Furthermore, database structures need not necessarily be used toassociate the expedited communication data 240, contact data 300, andcommunication preference data 400. Any type of file and/or dataassociation method or structure may be used to associate the expeditedcommunication data 240, contact data 300, and communication preferencedata 400.

The expedited communication data 240 may comprise data that specifies aparticular expedited communication function. The contact data 300 storescommunication contact data, such as phone numbers and electronicaddresses, for particular contacts. Typically, the contact data 300 maybe conveniently browsed and/or searched by an application program, suchas an address book application. The communication preference data 400stores data specifying a preferred mode of communicating with a contact,e.g., a phone call to a work phone number, a phone call to a home phonenumber, an e-mail to a work e-mail address, a page to a pager number,and the like.

A data record stored in the expedited communication data 240 mayassociate a key entry with particular communication contact data storedin the contact data 300, e.g., the keyboard key “H” may be associatedwith the user's home telephone number, or the user's home e-mailaddress. Pressing the associated key will cause the mobile device toinvoke the corresponding communication function associated with thecommunication contact data, e.g., dialing the user's home phone numberor preparing an e-mail message to the user's home e-mail address.

The communication preference data 400 specifies the preferredcommunication mode for an associated contact. The preference may bebased on a rule set or status of the intended recipient, as previouslydescribed with respect to FIG. 2 above. Furthermore, the communicationpreference data 400 need not be associated with the expeditedcommunication data 240. For example, the communication preference data400 may specify the preferred mode of communication for allcommunications to the contact associated with the contact data 300.Thus, if the user is initiating a communication in a non-expeditedmanner, such as manually selecting a contact from an address book, thenthe communication preference data 400 may determine which communicationmode is used to communicate with the contact associated with theselected contact data 300. The selection of the communication mode bythe communication preference data 400 may be selectively disabled by theuser, such as by checking a selection option in the address bookapplication.

Alternatively, the communication preference data 400 may specify thepreferred mode of communication for specific communications to thecontact associated with the contact data 300. For example, only thecommunication modes for expedited communication functions may bedetermined by the communication preference data 400, and communicationmodes for non-expedited communications may be determined by the user.The selection of the communication modes by the communication preferencedata 400 for expedited communications may be selectively disabled by theuser, such as by checking a selection option in a “speed dial” menuoption.

FIG. 4 is an illustration of a first display environment 242. The firstdisplay environment 242 is an example display for an entry in an addressbook application and displays a data record in the contact data 300. Thecontact data 300 data record may include a plurality of fields, such ascontact name fields 244, an e-mail address field 246, a company namefield 248, a title field 250, a work phone number field 252, a homephone number field 254, a mobile number field 256, a pager number field258, and fax number field 260. The e-mail address field 246, work phonenumber field 252, home phone number field 254, mobile number field 256,pager number field 258, and fax number field 260 each store associatedcommunication contact data, such as electronic addresses or phonenumbers.

In the embodiment shown in FIG. 4, a key assignment window 262facilitates the association of keyboard keys to selected phone, pagerand fax communication contact data. In another embodiment, the keyassignment window 262 may be extended to facilitate the association ofkeyboard keys to e-mail communication contact data. The association of akey with communication contact data is used to facilitate expeditedcommunication functions for the associated communication contact data.

In this particular embodiment, the key assignment window 262 includes ascrolling key list 264 and a selection bracket 265. By scrolling the keylist 264, different keyboard keys may be selected for association withthe corresponding communication contact data. As shown in FIG. 4, thekeyboard key “A” has been selected for association with the work phonenumber field 252, which in turn will associate the key “A” with the workphone number (416) 123-4567 stored in the work phone number field 252.The numeral “1” is bolded, indicating that the numeral has beenpreviously associated with other communication contact data. The keylist 264 may be scrolled up and down to determine which keys areassociated with communication contact data.

FIG. 5 is an illustration of the first display environment 242 includinga graphical key representation 266. The graphical key representation 266comprises a plurality of graphical keys 268. If the mobile device 100includes a physical keyboard, the plurality of graphical keys may bearranged in similar disposition to the mobile device 100 keyboard keys.The graphical key representation 266 includes visual indicia to indicatemobile device keyboard subsystem 108 keys associated with expeditedcommunication functions. In the embodiment shown in FIG. 5, the visualindicia includes a bolded key outline 270 for keys 268 not associatedwith expedited communication functions. Keys that are associated withexpedited communication functions are illustrated as shaded keys, suchas shaded key 272. Keys that are presently selected to be associatedwith an expedited communication function are shaded and outlined in abold dotted line, such as selected key 274. Finally, keys that are notavailable to be associated with expedited communication functions haveno detail, such as ineligible key 276.

The graphical key representation 266 thus provides the user with a GUIfrom which the user may quickly discern keys associated with expeditedcommunication functions, and keys that are either eligible or ineligiblefor such association. The selected key 274 may be associated with anexpedited communication function by a user input. One such user input,for example, may comprise pressing the key in the keyboard subsystem 108that corresponds to the selected key 274 in the graphical keyrepresentation 266. If the mobile device 100 does not have a physicalkeyboard, but instead has a touch sensitive display keypad, then theuser input may comprise touching the screen region on which the selectedkey 274 is displayed. Other user inputs may also be used to associatethe selected key 274 with the expedited communication function.

FIG. 6 is an illustration of the first display environment 242 includinga user input dialog 278. The user input dialog 278 is displayed uponassociation of the graphical key with the expedited communicationfunction. A plurality of selection buttons 279 provide the user withselectable options, such as accepting a proposed action, rejecting aproposed action, editing the association of the graphical key with theexpedited communication function, or accessing a help menu.

In another embodiment, if the keyboard subsystem key corresponding tothe selected graphical key is associated with an expedited communicationfunction, the user input dialog 278 is displayed upon selection of thegraphical key. In this embodiment, the associated expeditedcommunication data is displayed. For example, if the keyboard subsystemkey corresponding to the graphical key “H” is associated with a speeddial function for a contact's home phone number stored in the home phonenumber field 254, then selection of the graphical key “H” will displaythe associated home phone number (416) 123-3333. Likewise, if thekeyboard subsystem key corresponding to the graphical key “E” isassociated with an e-mail function for a contact's e-mail address storedin the e-mail address field 246, then selection of the graphical key “E”will display the associated e-mail address “jsmith@abc123.com.”

FIG. 7 is a flow diagram 290 of a process for displaying a graphical keyrepresentation of keys associated with expedited communicationfunctions. Step 292 displays a graphical key representation of themobile device keyboard. If the mobile device does not have a physicalkeyboard, e.g., a touch sensitive keyboard is displayed on a touchsensitive display, then the touch sensitive keyboard is displayed.Alternatively, if the mobile device does have a physical keyboard, thenan additional step 294 arranges the graphical keys in similardisposition to the physical keyboard. Finally, step 296 displays visualindicia to indicate keys associated with expedited communicationfunctions. The visual indicia allows the user to readily discern keysassociated with expedited communication functions, and keys that areeither eligible or ineligible for such association.

In another embodiment, communication preference data 400 specifies thepreferred communication mode for an associated contact. FIG. 8 is ablock diagram illustration of the association of a contact data setrecord 302 and a communication preference data set record 402. Thecontact data set record 302 has one or more associated communicationcontact data for a particular contact associated with the contact dataset record 302, and the communication preference data set record 302defines communication preferences for communicating with the contact.Upon input of a command to the mobile device 100 to initiate acommunication to the contact associated with the contact data set record302, the mobile device 100 executes the communication according to thepreferred communication mode defined by the communication preferencedata set record 402 associated with the corresponding contact data setrecord 302.

In this embodiment, an example contact data set record 302 comprisesfirst, second, and n-phone contact data 304, 306, and 308, and first,second and n-electronic contact data 310, 312, and 314. Likewise, anexample communication preference data record 402 comprises first, secondand n-phone contact preference data 404, 406 and 408, and first, secondand n-electronic contact preference data 410, 412 and 414.

The contact preference data 404, 406, 408, 410, 412 and 414 maycollectively define a set of selection rules based on a sectionvariable, such as time. For example, assume the first, second, andn-phone contact data 304, 306, and 308 comprise a home phone number, awork phone number, and a work fax number, respectively, and the first,second and n-electronic contact data 310, 312 and 314 comprise a worke-mail address, a personal e-mail address, and a pager number,respectively. The first, second and n-phone contact preference data 404,406 and 408, and first, second and n-electronic contact preference data410, 412 and 414 may specify preferred communication times for eachcommunication mode associated with each particular contact data, asillustrated in Table 1 below:

TABLE 1 Contact Data (k) Preference Data (TIME) (216) 555-1234 6:00PM-10:00 PM (M-F) 8:00 AM-10:00 PM (WKN) (216) 555-2235 8:00 AM-6:00 PM(M-F) (216) 555-2236 NEVER joe@work.com 10:00 PM-8:00 AM (M-F)joe@home.org ALL OTHER TIMES (216) 555-2237 NEVER

Based on the communication preference data of Table 1, initiation of acommunication to the contact associated with contact data record (k)will result in a phone call to either the contact's home phone number orthe contact's work phone number, or an e-mail message to the contact'swork e-mail address or the contact's home e-mail address, depending onthe time the communication is initiated. The communication will never bea fax to the contact's work fax number or a page to the contact's pagernumber. The contact preference data may be specified and modified by theuser of the mobile device 100.

The selection of the communication mode by the communication preferencedata 400 may be selectively enabled or disabled by the user, such as bychecking a selection option in the address book application. Forexample, the user may disable automatic selection of the communicationmode for all communications, or alternatively may enable automaticselection of the communication mode for particular communications, suchas expedited communications or non-expedited communications.

In another embodiment, the communication preference data 400 comprises arule set based on contact status. FIG. 9 is a block diagram illustratingthe association of contact data set records 302, status records 420, andrule sets 430. Each contact data set record 302-1, 302-2, 302-n maycomprise contact data similar to the contact data described withreference to FIG. 8. Each status record 420-1, 420-2, 420-n comprisesstatus data identifying a contact status of an associated contact. Acontact status may indicate the relationship the contact has with mobiledevice user, e.g., business, personal, services, etc. Each particularcontact status may be further associated with a default rule set 430-1,430-2, and 430-n. Each default rule set 430 may comprise contactpreference data similar to the contact preference data described withreference to FIG. 8.

For example, if the contact status is personal, then a default personalcommunication profile may be used. A default personal communicationprofile may comprise a rule set that specifies that during workdays aphone communication to the contact's work phone number be used as apreferred communication, and during weeknights and weekends a phonecommunication to the contact's home phone number be used as a preferredcommunication. The default personal communication profile may also bemodified by the user of the mobile device 100.

Likewise, if the contact status is professional, then a defaultprofessional communication profile may be used. A default professionalcommunication profile may comprise a rule set that specifies that duringworkdays a phone communication to the contact's work phone number beused as a preferred communication, and during weeknights and weekends ane-mail communication to the contact's work e-mail be used as a preferredcommunication. The default professional communication profile may alsobe modified by the user of the mobile device 100.

Other default communication profiles may be used for other status types,e.g., parent, child, attorney, doctor, pediatrician, and so on.Furthermore, the user of the mobile device 100 may define particularstatus types and attendant default communication profiles for theuser-defined status types. For example, the user of the mobile device100 may create a “doctor” status type upon beginning treatment of amedical condition, and may configure a doctor communication profile sothat the doctor's phone number is called during regular business hours,and the doctor's after-hours phone number is called outside of normalbusiness hours.

In another embodiment, the communication preference data 400 mayfacilitate a preferred communication menu for selecting one of thepreferred communication modes. For example, if a user of the mobiledevice 100 initiates a communication to a contact, and a phone call tothe contact's work phone number is placed, it is possible that thecontact may not be available to answer the phone. If the user does notdesire to leave a voice mail message, the user may terminate the phonecall communication, and select another preferred communication mode froma preferred communication menu. The communication modes available on thepreferred communication menu correspond to the preferred communicationmodes defined by the communication preference data 400. Thus, ratherthan having to search for the contact in an address book application,and then search for the appropriate communication contact data once thecontact is found, the user of the mobile device 100 may convenientlyaccess the preferred communication modes for that contact and invoke acorresponding communication mode via the preferred communication menu.

Set-up and management of the communication preference data 400 may befacilitated by a menu-driven interface in an application programoperable to browse contact information, such as an address bookapplication program. FIG. 10 is an illustration of a first contactdisplay environment 440 in an address book application program. Thefirst contact display environment 440 includes a contact list 442 thatlists contact entries stored in the contact data 300. As shown, theentry for the contact “DJ Shadow” 444 has been selected, as indicated bythe selection bar 446. The entry “DJ Shadow” may be selected manually bythe user, or may be selected as the result of a search executed by asearch command 445. A contact menu 448 comprises a list of selectablemenu options. The menu option “Create Relationship” 450, which has beenselected as indicated by selection bar 452, provides the user a displayenvironment to associate communication preference data with the selectedcontact.

FIG. 11 is an illustration of a first contact relationship displayenvironment 454. The first contact relationship display environment 454is displayed upon selection of the “Create Relationship” menu option 450in the first contact display environment 440. In the embodiment shown,the selected contact 444 may be categorized by a status category 456.Three status categories included a personal status 458, a work status460, and a services status 462.

Additionally, communication preference data 464 includes a rule setcomprising phone preference data 466 and corresponding contact time data468, and e-mail preference data 470. As shown, the contact data for theselected contact 444 comprises corresponding phone communication dataand e-mail communication data. The contact time data 468 for the phonepreference data 466 define a default personal communication profile thatspecifies the contact is to be contacted via a phone call at all times.The user may adjust the communication preference data 464 accordingly.

If the contact data for the selected contact 444 included additionalphone contact data and additional electronic address contact data, thenthe relationship display environment 454 may list additionalcommunication preference data. For example, if two phone numberscorresponding to a work phone and a home phone number and two electronicaddresses corresponding to a work e-mail address and a personal e-mailaddress are stored in the corresponding contact data for the selectedcontact 444, then the relationship display environment 454 may displayfour separate communication preferences, e.g., rule sets for contactingthe contact via a work phone, a home phone, a work e-mail, and apersonal e-mail. Thus, for each type of communication contact datastored for a corresponding contact, the user may define particular rulesfor preferred communication modes for executing a communication to thecontact.

FIG. 12 is an illustration of a second contact display environment 472.The second contact display environment 472 is displayed after saving thecommunication preference data in the first relationship displayenvironment 454, or upon selecting a contact with associatedcommunication preference data. In the embodiment shown, the selectedcontact 444 is categorized according to a personal status 458. Thecontact 444 has been selected as the result of a search for contacts ofa personal status executed by a search command 476. Because the contact444 has associated communication preference data, the “CreateRelationship” menu option 450 has been replaced by an “EditRelationship” menu option 474, the selection of which will display asecond contact relationship display environment 484, which is describedbelow with respect to FIG. 13.

A communication menu option 480 is also displayed in the second contactdisplay environment 472. In the embodiment shown, the communication menuoption 480 indicates the preferred communication mode defined by thecommunication preference data. In this example, the communication menuoption 480 reads “Phone DJ Shadow” because the communication preferencedata defines a phone call as the preferred communication mode. However,if the communication preference data further defined another preferredcommunication mode for a particular time, e.g., an e-mail communicationbetween the hours of 9:00 PM and 7:00 AM, then the communication menuoption 480 would read “E-mail DJ Shadow” between the hours of 9:00 PMand 7:00 AM. Accordingly, in this embodiment, the communication menuoption 480 is configured to provide indicia of the presently preferredcommunication mode for executing a communication to the selectedcontact.

In another embodiment, the communication menu option 480 may beconfigured to provide more detailed indicia of the presently preferredcommunication mode. For example, if the communication preference definesrule sets for communicating with the contact via a work phone number, ahome phone number, a work e-mail address, and a personal e-mail address,then the communication menu option 480 may read “Phone(W) DJ Shadow,”“Phone(H) DJ Shadow”, “E-mail(W) DJ Shadow,” and “E-Mail(P) DJ Shadow,”respectively, depending on the presently preferred communication mode.

FIG. 13 is an illustration of the second contact relationship displayenvironment 484. The second contact relationship display environment 484is displayed upon selection of the “Edit Relationship” menu option 474,and facilitates the editing of communication preference data associatedwith a selected contact. In the embodiment shown, the second contactrelationship display environment 484 comprises an edit menu 486 thatincludes first, second and third time preferences 488, 490, and 492, andcorresponding first, second and third communication contact preferences494, 496, and 498. As shown, the preferred communication modes selectedfor morning, evening and weekends is a phone communication. Othercommunication modes may be selected by the user as desired.

While the second contact relationship display environment 484 only showsmorning, evening and weekend time periods, additional time periods maybe displayed or defined by the user. For example, a user of the mobiledevice 100 may define a more detailed communication profile comprisingcommunication preference data that selects as a preferred communicationmode a contact's cell phone number during morning and evening commutetimes and during lunch, the contact's work phone number during theremaining business hours, and the contact's home phone number during allother times.

FIG. 14 is a flow diagram 500 of a process for associating preferredcommunication modes with communication contact data. Step 502 creates oraccesses a contact data set. The contact data set may be created when auser stores new contact data in the mobile device memory, or may beaccessed when the user accesses a stored contact data set, such asselecting a contact in an address book application.

Step 504 adds data to or modifies the communication contact data set.The communication contact data is typically added to when the user addsnew communication contact data to the contact data set stored in mobiledevice memory. For example, the user may receive a new cell phone numberfor a selected contact in an e-mail from the contact, and then store thecell phone number as a new communication contact data entry in thecontact's corresponding contact data. Likewise, the communicationcontact data is typically modified when the user updates communicationcontact data stored in mobile device memory. For example, the user mayreceive an updated cell phone number for a selected contact in an e-mailfrom the contact, and then update the cell phone communication contactdata entry in the contact's corresponding contact data.

Step 506 associates a communication preference data set with the contactdata set. The communication preference data set defines preferredcommunication modes based on the communication contact data forcommunicating with the contact. The communication preference data setand the association of the communication preference data set may be asdescribed with respect to FIGS. 2-13 above.

In another embodiment, the communication preference data set may bereceived in a contact data set sent from a contact, such as when acontact sends a file that includes his or her contact data, e.g., anelectronic business card. The communication preference data may then beautomatically stored when the contact data set is stored in the mobiledevice.

FIG. 15 is a flow diagram 510 illustrating a process for initiating apreferred communication. In step 512, an initiate communication commandis received to establish a communication with the contact. The initiatecommunication command may be in response to either the initiation of anexpedited communication function, such as a speed dial activation, or anon-expedited communication function, such as the manual entry of aphone number.

Step 514 determines if the user has specified a particular communicationmode. For example, the user may have configured the mobile communicationdevice to establish the communication via a preferred communication modefor expedited communication functions only, and to otherwise establishthe communication via the communication mode selected by the user forall other communication functions.

If the user has specified a particular communication mode, such as bymanually entering a phone number, then step 516 establishes thecommunication according to the communication mode selected by the user.If, however, the user has not specified a particular communication mode,then step 518 establishes the communication according to the preferredcommunication mode defined by the communication preference data setassociated with the contact data set. The communication may beestablished in the same or similar manner as described with reference toFIGS. 2-13 above.

FIG. 16 is a flow diagram 600 illustration a process for initiating anexpedited communication function. An expedited communication function isa communication function that is initiated by fewer user inputoperations than required to initiate the communication in a normalmanner. For example, a one-key speed dial operation or a one-keyinitiation of an e-mail message may be considered expeditedcommunication functions.

Step 602 receives a key press input. The key press input may be receivedfrom the pressing of a key on a physical keyboard or the pressing of atouch-sensitive area on a touch sensitive display. Other methods of keyactivation may also be used. For example, the key may be activated by avoice command if the mobile device is operable to process voicecommands, such as “Press key H.” Accordingly, the key press may beeither a physical key press, a touch screen key press, or a voiceactivated key press.

Step 604 determines if the corresponding key is associated with anexpedited communication function. If the corresponding key is notassociated with an expedited communication function, then the normal keyfunction is performed in step 612.

If, however, the corresponding key is associated with an expeditedcommunication function, the step 606 monitors the duration of the keypress. During the monitoring step, step 608 determines if the key pressduration is greater than a threshold. The threshold is a time periodthat is long enough to distinguish between a normal key press and anintentional holding down of key, e.g., 1 second. The threshold may bemodified by the user.

The key press may also be determined by a voice command if the mobiledevice is operable to process voice commands. For example, avoice-command capable mobile device may interpret a voice command “Presskey H Hold” as a key press in which the key is held down long enough todistinguish between a normal key press and an intentional holding downof key, e.g., 1 second, or until the user utters the voice command“Release.”

If the key press duration is not greater than the threshold, then step610 determines if a key has been released. If the key has been released,then the normal key function is performed in step 612. If, however, thekey has not been released, then steps 606 and 608 are repeated.

If step 608 determines that the key press duration is greater than thethreshold, then step 614 performs an expedited communication functionassociated with the pressed key. The expedited communication functionmay be associated with a key and of the type as described with referenceto FIGS. 2-7 above.

In another embodiment, pressing and holding down a key not associatedwith an expedited communication function for a duration greater than adefined threshold can cause the mobile device to prompt the user toassign an expedited communication function to the pressed key. Forexample, if the key L is presently not associated with an expeditedcommunication function, pressing and holding down the key for a durationgreater than a defined threshold will result in the mobile deviceprompting the user to associate the key with an expedited communicationfunction at the expiration of the defined threshold.

There are situations in which the user may desire to hold down a key andnot invoke an expedited communication function associated with the key.For example, a cell phone keyboard typically comprises an alphanumerickeypad having keys 0-9, a * key, and a # key. Keys 2-9 may alsocorrespond to letters ABC, DEF, GHI, JKL, MNO, PQRS, TUV, and WXYZ,respectively. To enter text when composing an e-mail message or creatinga phone book entry, a corresponding key is pressed and held down so thatthe text entry cycles through the corresponding letters. When thedesired letter is displayed, the key is released and the letter isentered as text.

Accordingly, there are operating environments in which an expeditedcommunication function associated with a keyboard key should be ignored,i.e., to facilitate multiple key functions in particular environments,the expedited communication function may be environment-dependent. Anexpedited communication function is environment-dependent if thefunction is invoked only when the key is pressed when the mobile deviceis in an expedited communication environment. For example, a text entryenvironment, such as when composing the body of an e-mail, as describedabove, may not be classified as an expedited communication environmentbecause the user of the mobile device will not want to inadvertentlyinvoke a speed dial call when entering text. Conversely, when the mobiledevice is in a standby mode, such as the state of a cell phone afteractivation, the user of the mobile device may intend to invoke a speeddial call by pressing a single key. Accordingly, such a mode may beclassified as an expedited communication environment.

FIG. 17 is a flow diagram 620 illustrating a process for initiating anenvironment-dependent expedited communication function. Steps 602, 604,606, 608, 610, 612 and 614 perform the same processes as steps 602, 604,606, 608, 610, 612 and 614 of FIG. 16. However, before 604, 606, 608,610, 612 and 614 are executed, an additional step 622 determines if thekey is pressed in an expedited communication environment. If the key isnot pressed in an expedited communication environment, such as whenentering text in the body of an e-mail message, then step 612 performsthe normal key function. If, however, the key is pressed in an expeditedcommunication environment, then steps 604, 606, 608, 610, 612, and 614are performed in a similar manner as described with respect to FIG. 16above.

In another embodiment, once a communication function for either anexpedited or non-expedited communication function is selected, a modeevaluation routine determines if the selected communication modeassociated with the communication contact data is available. If theselected mode is available, then the communication function for theselected mode is executed. However, if the selected mode is notavailable, then an alternate communication mode may be selected.

FIG. 18 is a flow diagram 630 illustrating a process for selectingbetween a primary communication mode and a secondary communication modefor a communication function. If the primary communication modeassociated with the communication contact data is available, then thecorresponding communication function is executed.

In step 632, a primary communication mode is selected. Step 634determines if the primary communication mode is available. For example,if a speed-dial function is invoked, the corresponding communicationmode is a phone communication. Step 634 thus determines if voicecoverage is available.

If step 634 determines that the selected communication mode isavailable, then step 636 initiates the selected communication in theprimary communication mode. If, however, step 634 determines that theselected communication mode is not available, then step 638 initiates acommunication to the contact according to a secondary mode.

For example, if voice coverage is available, then step 636 places atelephone call to the phone number. If voice coverage is not available,however, then step 638 may initiate a communication in a secondarycommunication mode by searching the contact data associated with theselected phone number for alternate communication contact data, e.g., ane-mail address from an address book entry corresponding to the phonenumber. If there is an e-mail address entry in the contact data, then ane-mail message to be sent to the e-mail address is created. The e-mailmessage may be a predefined message, or the body of the e-mail messagemay be composed by the user and sent manually.

FIG. 19 is a block diagram of an example system 2000 for redirectingelectronic messages to and from a mobile device 2020. The mobile device2020 may be the mobile device 100 of FIG. 1. The example redirectionsystem 2000 includes an enterprise server 2004, a mail server 2002, astorage medium 2006 for electronic messaging (e.g., e-mail) accountdata, and a wireless gateway 2016. Also illustrated are the mobilecommunication device 2020, a wireless network 2018, a wide area network(WAN) 2012, a firewall 2010, a desktop client 2008, and one or moreother electronic messaging systems 2014.

The mail server 2002 may include electronic messaging software executingon a computer within a local area computer network (LAN). The mailserver 2002 is coupled to local network devices 2004, 2006, 2008 via theLAN, and is coupled to remote network devices 2014, 2016 via the WAN2012. The LAN and WAN 2012 may be separated by a firewall 2010.

The mail server 2002 maintains an electronic message account within theelectronic message account database 2006 for each desktop client 2008 inthe LAN. The electronic message account database 2006 may be one or morestorage devices coupled to the mail server 2002, and may be includedwithin the same network device as the mail server 2002 or in one or moreseparate devices within the LAN. The desktop client 2008 may be one of aplurality of computers (e.g., personal computers, terminals, laptopcomputers, or other processing devices) coupled to the mail server 2002via the LAN that execute electronic messaging software to send andreceive electronic messages via the mail server.

Electronic messages sent from the desktop client 2008 are stored by themail server 2002 in an outgoing message storage location (an “outbox”)within a corresponding electronic message account 2006. If the outgoingmessage is addressed to an electronic message account within the LAN,then the mail server 2002 delivers the message to an incoming messagestorage location (an “inbox”) in the appropriate electronic messageaccount 2006. If the outgoing message is addressed to an electronicmessage account in another electronic messaging system 2014, however,then the message is delivered via the WAN 2012. Similarly, incomingelectronic message addressed to the electronic message account 2006 isreceived by the mail server 2002 and stored to the electronic messageaccount database 2006 within the appropriate incoming message storagelocation (“inbox”). The incoming electronic message may then beretrieved from the electronic message account 2006 by the desktop client2008, or may be automatically pushed to the desktop client 2008 by themail server 2002.

The enterprise server 2004 may include electronic message redirectionsoftware executing on a computer within the LAN. The enterprise server2004 is operational to redirect electronic messages from the electronicmessage account 2006 to the mobile communication device 2020 and toplace messages sent from the mobile communication device 2020 into theelectronic message account 2006 for delivery by the mail server 2002.The enterprise server 2004 stores mobile device information, such as awireless identification (e.g., a PIN), used to communicate with themobile communication device 2020. The enterprise server 2004 may, forexample, communicate with the mobile communication device 2020 using adirect TCP/IP level connection with the wireless gateway 2016, whichprovides an interface between the WAN 2012 and the wireless network2018.

When an electronic message is received in the inbox of the electronicmessage account 2006, the electronic message is detected by theenterprise server 2004, and a copy of the message and any necessarymobile device information are sent over the WAN 2012 to the wirelessgateway 2016. For example, the enterprise server 2004 may encapsulate acopy of the message into one or more data packets along with a wirelessidentification (e.g., a PIN) for the mobile communication device 2020,and transmit the data packet(s) to the wireless gateway 2016 over adirect TCP/IP level connection. The wireless gateway 2016 may then usethe wireless identification and/or other mobile device information totransmit the data packets(s) containing the electronic message over thewireless network 2018 to the mobile communication device 2020.

Electronic messages sent from the mobile communication device 2020 maybe encapsulated into one or more data packets along with a networkidentification for the enterprise server 2004 and then transmitted overthe wireless network 2018 to the wireless gateway 2016. The wirelessgateway 2016 may use the network identification for the enterpriseserver 2004 to forward the data packet(s) over the WAN 2012 to theenterprise server 2004, preferably via a direct TCP/IP level connection.Upon receiving the data packet(s) from the wireless gateway 2016, theenterprise server 2004 places the enclosed electronic message into theoutbox of the associated electronic message account 2006. The mailserver 2002 then detects the electronic message in the outbox anddelivers the message, as described above.

Security may be maintained outside of the firewall 2010 by encryptingall electronic messages sent between the enterprise server 2004 and themobile communication device 2020. For instance, an electronic message tobe redirected to the mobile communication device 2020 may be encryptedand compressed by the enterprise server 2004, and the encrypted messagemay then be encapsulated into one or more data packets for delivery tothe mobile communication device 2020. To maintain security, theelectronic message may remain encrypted over the entire communicationpath 2016, 2018, 2012 from the enterprise server 2004 to the mobilecommunication device 2020. Similarly, electronic messages sent from themobile communication device 2020 may be encrypted and compressed by themobile communication device 2020 before being packetized and transmittedto the enterprise server 2004, and may remain encrypted over the entirecommunication path 2016, 2018, 2012 from the mobile communication device2020 to the enterprise server 2004.

In addition, the enterprise server 2004 may include a communicationsubsystem, a memory subsystem and a processing subsystem. Thecommunication subsystem may be operable to communicate with the wirelessgateway 2016 over the WAN 2012. The memory subsystem may be operable tostore data and program information. The processing subsystem may beoperable to store and retrieve data in the memory subsystem and executeprograms stored in the memory subsystem, and to cause the communicationsubsystem to transmit and receive information over the WAN 2012.

FIG. 20 is a more detailed block diagram of the mobile device 100 ofFIG. 1. The mobile device 2100 includes a processing subsystem 2138, acommunications subsystem 2111, a short-range communications subsystem2140, a memory subsystem 2124, 2126, and various other device subsystemsand/or software modules 2142. The mobile device 2100 also includes auser interface, which may include a display 2122, a serial port 2130,keyboard 2132, a speaker 2134, a microphone 2136, one or more auxiliaryinput/output devices 2128, and/or other user interface devices.

The processing subsystem 2138 controls the overall operation of themobile device 2100. Operating system software executed by the processingsubsystem 2138 may be stored in a persistent store, such as a flashmemory 2124, but may also be stored in other types of memory devices inthe memory subsystem, such as a read only memory (ROM) or similarstorage element. In addition, system software, specific deviceapplications, or parts thereof, may be temporarily loaded into avolatile store, such as a random access memory (RAM) 2126. Communicationsignals received by the mobile device 2100 may also be stored to RAM2126.

The processing subsystem 2138, in addition to its operating systemfunctions, enables execution of software applications 2124 on the device2100. A predetermined set of applications that control basic deviceoperations, such as data and voice communications, may be installed onthe device 2100 during manufacture. In addition, a personal informationmanager (PIM) application, including an electronic messagingapplication, may be installed on the device. The PIM may, for example,be operable to organize and manage data items, such as e-mail, calendarevents, voice mails, appointments, and task items. The PIM applicationmay also be operable to send and receive data items via the wirelessnetwork 2119.

Communication functions, including data and voice communications, areperformed through the communication subsystem 2111, and possibly throughthe short-range communications subsystem 2140. The communicationsubsystem 2111 includes a receiver 2112, a transmitter 2114 and one ormore antennas 2116, 2118. In addition, the communication subsystem 2111also includes a processing module, such as a digital signal processor(DSP) 2120 or other processing device(s), and local oscillators (LOs)2113. The specific design and implementation of the communicationsubsystem 2111 is dependent upon the communication network in which themobile device 2100 is intended to operate. For example, a mobile device2100 may include a communication subsystem 2111 designed to operatewithin the Mobitex™ mobile communication system, the DataTAC™ mobilecommunication system, a GSM network, a GPRS network, a UMTS network,and/or an EDGE network.

Network access requirements vary depending upon the type ofcommunication system. For example, in the Mobitex and DataTAC networks,mobile devices are registered on the network using a unique personalidentification number or PIN associated with each device. In UMTS andGSM/GPRS networks, however, network access is associated with asubscriber or user of a device. A GPRS device therefore requires asubscriber identity module, commonly referred to as a SIM card, in orderto operate on a GSM/GPRS network.

When required network registration or activation procedures have beencompleted, the mobile device 2100 may send and receive communicationsignals over the communication network 2119. Signals received by theantenna 2116 from the communication network 2119 are routed to thereceiver 2112, which provides signal amplification, frequency downconversion, filtering, channel selection, etc., and may also provideanalog to digital conversion. Analog-to-digital conversion of thereceived signal allows the DSP to perform more complex communicationfunctions, such as demodulation and decoding. In a similar manner,signals to be transmitted to the network 2119 are processed (e.g.,modulated and encoded) by the DSP 2120 and are then provided to thetransmitter 2114 for digital to analog conversion, frequency upconversion, filtering, amplification and transmission to thecommunication network 2119 (or networks) via the antenna 2118.

In addition to processing communication signals, the DSP 2120 providesfor receiver 2112 and transmitter 2114 control. For example, gainsapplied to communication signals in the receiver 2112 and transmitter2114 may be adaptively controlled through automatic gain controlalgorithms implemented in the DSP 2120.

In a data communication mode, a received signal, such as a text messageor web page download, is processed by the communication subsystem 2111and input to the processing device 2138. The received signal is thenfurther processed by the processing device 2138 for output to a display2122, or alternatively to some other auxiliary I/O device 2128. A deviceuser may also compose data items, such as e-mail messages, using akeyboard 2138 and/or some other auxiliary I/O device 2128, such as atouchpad, a rocker switch, a thumb-wheel, or some other type of inputdevice. The composed data items may then be transmitted over thecommunication network 2119 via the communication subsystem 2111.

In a voice communication mode, overall operation of the device issubstantially similar to the data communication mode, except thatreceived signals are output to a speaker 2134, and signals fortransmission are generated by a microphone 2136. Alternative voice oraudio I/O subsystems, such as a voice message recording subsystem, mayalso be implemented on the device 2100. In addition, the display 2122may also be utilized in voice communication mode, for example, todisplay the identity of a calling party, the duration of a voice call,or other voice call related information.

The short-range communications subsystem 2140 enables communicationbetween the mobile device 2100 and other proximate systems or devices,which need not necessarily be similar devices. For example, theshort-range communications subsystem 2140 may include an infrared deviceand associated circuits and components, or a Bluetooth™ communicationmodule to provide for communication with similarly-enabled systems anddevices.

The apparatus, methods, and flow diagrams described in this patentdocument may be implemented in the mobile devices described herein bymobile device program code comprising program instructions that areexecutable by the mobile device processing subsystem. Otherimplementations may also be used, however, such as firmware or evenappropriately designed hardware configured to carry out the methods andflow diagrams described in this patent document. Additionally, the flowdiagrams described in this patent document, which describe particularmethods and/or corresponding acts in support of steps, may also beutilized to implement corresponding software structures and algorithms,and equivalents thereof.

The embodiments described herein are examples of structures, systems ormethods having elements corresponding to the elements of the inventionrecited in the claims. This written description may enable those ofordinary skill in the art to make and use embodiments having alternativeelements that likewise correspond to the elements of the inventionrecited in the claims. The intended scope of the invention thus includesother structures, systems or methods that do not differ from the literallanguage of the claims, and further includes other structures, systemsor methods with insubstantial differences from the literal language ofthe claims.

What is claimed is:
 1. An apparatus for a mobile device, said apparatuscomprising: communication preference data stored at a first datastructure at the mobile device, said communication preference dataidentifying, for a contact, a preferred communication mode and analternate communication mode; a mode evaluator configured to determinewhen the preferred communication mode is available and when thepreferred communication mode is not available; and an initiatorconfigured to retrieve stored communication preference data and initiatea communication to the contact, the communication effected with thepreferred communication mode of the communication preference data whenthe mode evaluator determines the preferred mode to be available andwith the alternate communication mode of the communication preferencedata when the mode evaluator determines the preferred mode to not beavailable.
 2. The apparatus of claim 1 further comprising contact datastored at a second data structure, the contact selected from a contactdata record of said contact data.
 3. The apparatus of claim 2 whereinthe contact is selected via an expedited communication functionselection.
 4. The apparatus of claim 1 wherein said communicationpreference data is configured to identify a rule set.
 5. The apparatusof claim 4 wherein said initiator is configured to initiate thecommunication in conformity with a rule of the rule set.
 6. Theapparatus of claim 5 wherein the rule set comprises a time-based ruleset.
 7. The apparatus of claim 1 wherein said communication preferencedata is configured to identify an intended-recipient status preference.8. The apparatus of claim 7 wherein said initiator is configured toinitiate the communication in conformity with the intended-recipientstatus preference.
 9. The apparatus of claim 7 wherein theintended-recipient status preference comprises a profile basedpreference.
 10. The apparatus of claim 1 wherein said communicationpreference data is modifiable.
 11. The apparatus of claim 1 wherein saidinitiator is configured automatically to initiate the communication tothe contact, once selected.
 12. The apparatus of claim 1 wherein thecommunication preference data are selected only by an expeditedcommunication function.
 13. The apparatus of claim 12 further comprisinga disabler, accepting activation by a user, that selectively disablesthe selection by the expedited communication function of said primaryand secondary communication modes.
 14. A method for facilitatingcommunication by a mobile device, said method comprising: storing in acommunication preference data storage structure at the mobile devicecommunication preference data that identifies, for a contact, apreferred communication mode and an alternate communication mode;determining when the preferred communication mode is available and whenthe preferred communication mode is not available; and retrieving thestored communication preference data and initiating a communication tothe contact, the communication effected with the preferred communicationmode of the communication preference data when the mode evaluatordetermines the preferred mode to be available and with the alternatecommunication mode of the communication preference data when the modeevaluator determines the preferred mode to not be available.
 15. Themethod of claim 14 further comprising storing in a contact data storagestructure contact data, the contact selected from a contact data recordof the contact data.
 16. The method of claim 15 further comprisingselecting the contact via an expedited communication function selection.17. The method of claim 14 wherein said storing comprises storingcommunication preference data that identifies a rule set.
 18. The methodof claim 17 wherein said initiating the communication comprisesinitiating the communication in conformity with a rule of the rule set.19. The method of claim 14 wherein said storing comprises storingcommunication preference data that identifies an intended-recipientstatus preference.
 20. The method of claim 19 wherein said initiatingthe communication comprises initiating the communication in conformitywith the intended recipient status performance.
 21. The method of claim14 further comprising modifying the communication preference data. 22.The method of claim 14 further comprising selecting communicationpreference data that identifies said preferred communication mode onlyby an expedited communication function.
 23. The method of claim 22further comprising selectively disabling, in response to a useractivation, the identification by the communication preference data ofsaid primary communication mode.
 24. A method for communicating, by amobile device, in a preferred communication mode specified bycommunication preference data, said method comprising: associating acommunication preference data record with a contact data set record atthe mobile device; evaluating to determine when the preferredcommunication mode is available and when the preferred communicationmode is not available; identifying, for a contact, an alternatecommunication mode; and retrieving the stored communication preferencedata and initiating a communication to a contact associated with thecontact data set record in conformity with the communication preferencedata record when said evaluating determines that the preferredcommunication mode is available and with the alternate communicationmode when said evaluating determines that the preferred communicationmode is not available.
 25. The method of claim 24 further comprisingdetermining whether the communication by the mobile device was initiatedby an expedited communication function.
 26. The method of claim 25wherein the initiating a communication to a contact further comprisesinitiating the communication when the communicating by the mobile devicewas initiated only by an expedited communication function.